package od_2024E;

import java.util.HashSet;
import java.util.Scanner;

/**
 * 方法一：利用前缀和 % m , 如果出现过重复的 模，则代表有连续的子数组可以整除
 * 方法二： 暴力枚举出所有的子数组之和
 */
public class Test03_zice01 {


    /**
     * 这是使用了前缀和的方法
     *
     * @param args
     */
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while (scanner.hasNextLine()) {
            String[] input = scanner.nextLine().split(" ");
            int n = Integer.parseInt(input[0]);
            int m = Integer.parseInt(input[1]);

            int[] cards = new int[n];
            String[] cardStrArray = scanner.nextLine().split(" ");
            for (int i = 0; i < n; i++) {
                cards[i] = Integer.parseInt(cardStrArray[i]);
            }

            boolean find = false;
            HashSet<Integer> modSet = new HashSet<>();
            modSet.add(0);
            int preFixMod = 0;
            for (int card : cards) {
                preFixMod = (preFixMod + card) % m;
                if (modSet.contains(preFixMod)) {
                    find = true;
                    break;
                }
                modSet.add(preFixMod);
            }
            if (find) {
                System.out.println(1);
            } else {
                System.out.println(0);
            }

        }
        scanner.close();
    }

}
